নথি আপডেট করা হচ্ছে
আপনি updateOne() পদ্ধতি ব্যবহার করে একটি রেকর্ড বা একটি নথি আপডেট করতে পারেন যা মঙ্গোডিবিতে বলা হয়।
UpdateOne() পদ্ধতির প্রথম প্যারামিটার হল একটি ক্যোয়ারী অবজেক্ট যা সংজ্ঞায়িত করে কোন ডকুমেন্ট আপডেট করতে হবে।
দ্রষ্টব্য:
যদি ক্যোয়ারী একাধিক রেকর্ড খুঁজে পায়, শুধুমাত্র প্রথম ঘটনা আপডেট করা হয়।
দ্বিতীয় প্যারামিটারটি একটি বস্তু যা নথির নতুন মান নির্ধারণ করে।
উদাহরণ
"Valley 345" ঠিকানা সহ নথিটিকে name="Mickey" এবং ঠিকানা="Canyon 123"-এ আপডেট করুন:
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
let myquery = { address: "Valley 345" };
let newvalues = { $set: {name: "Mickey", address: "Canyon 123" } };
dbo.collection("customers").updateOne(myquery, newvalues, function(err, res) {
if (err) throw err;
console.log("1 document updated");
db.close();
});
});
দ্রষ্টব্য:
উপরের কোডটি "demo_update_one.js" ফাইলে সংরক্ষণ করুন এবং ফাইলটি চালান:
C:\Users\Your Name>node demo_update_one.js
এটি আপনাকে এই ফলাফল দেবে:
1 document updated
শুধুমাত্র নির্দিষ্ট ক্ষেত্র আপডেট করা হচ্ছে
$set অপারেটর ব্যবহার করার সময়, শুধুমাত্র নির্দিষ্ট ক্ষেত্র আপডেট করা হয়:
উদাহরণ
ঠিকানাটি "Valley 345" থেকে "Canyon 123" এ আপডেট করুন:
...
let myquery = { address: "Valley 345" };
let newvalues = { $set: { address: "Canyon 123" } };
dbo.collection("customers").updateOne(myquery, newvalues, function(err, res) {
...
একাধিক নথি আপডেট করা হচ্ছে
ক্যোয়ারির উপর ভিত্তি করে সব মিলে যাওয়া ডকুমেন্ট আপডেট করতে updateMany() পদ্ধতি ব্যবহার করুন।
উদাহরণ
"S" অক্ষর দিয়ে শুরু হওয়া সমস্ত নথি আপডেট করুন:
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
let myquery = { address: /^S/ };
let newvalues = {$set: {name: "Minnie"} };
dbo.collection("customers").updateMany(myquery, newvalues, function(err, res) {
if (err) throw err;
console.log(res.result.nModified + " document(s) updated");
db.close();
});
});
দ্রষ্টব্য:
উপরের কোডটি "demo_update_many.js" ফাইলে সংরক্ষণ করুন এবং ফাইলটি চালান:
C:\Users\Your Name>node demo_update_many.js
এটি আপনাকে এই ফলাফল দেবে:
2 document(s) updated
উপসংহার মানে
UpdateOne() এবং updateMany() পদ্ধতিগুলি এমন একটি বস্তু ফেরত দেয় যাতে অপারেশনটি ডাটাবেসকে কীভাবে প্রভাবিত করে সে সম্পর্কে তথ্য থাকে।
বেশিরভাগ তথ্য বোঝার জন্য গুরুত্বপূর্ণ নয়, কিন্তু বস্তুর ভিতরের একটি বস্তু "ফলাফল" আমাদের বলে যে অপারেশনটি ভাল হয়েছে কিনা এবং কতগুলি নথি প্রভাবিত হয়েছে৷
ফলাফল বস্তু এই মত দেখায়:
{ n: 1, nModified: 2, ok: 1 }
এই বস্তুটি আপডেট হওয়া নথির সংখ্যা ফেরত দিতে ব্যবহার করা যেতে পারে:
উদাহরণ
আপডেট হওয়া নথির সংখ্যা ফেরত দিন:
console.log(res.result.nModified);
এটি এই ফলাফল তৈরি করবে:
2